A computer system may have a variety of hardware devices (e.g., a central processing unit (CPU)) that request and share resources (e.g., memory) of the system. Accessing these resources may have associated latencies that can affect, for example processing performance of a CPU. Access latency for a CPU may involve the time interval between when a CPU initiates a request for data retrieved from or data storage to a main memory and when delivery or storage of the data occurs. The delays resulting from access latency may hamper the ability of a CPU to manage the processing workload of the CPU and may impact the performance of the CPU. Attempts to improve processing performance of a CPU by addressing access latency between device and resource may involve reducing the physical distance between main memory and the CPU, or increasing transfer speeds (e.g., bus speed) between devices and resources, or by utilizing “in memory” databases to store all data at main memory (instead of on-disk).
However, addressing latency alone to improve processing performance may have limitations as next generation computer systems demand more sophisticated functions and features to accommodate increasing data processing workloads. The increased demand drives the adoption of newer technologies but also the continued improvement of available techniques at the sub-system level.